package cn.wlinker.video.monitor.enums;

import cn.hutool.core.io.file.FileNameUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 文件类型枚举
 * @author gxsjx
 * @version 1.0
 * @date 2022/11/23
 */
@AllArgsConstructor
@Getter
public enum FileTypeEnum {
    // 图片
    jpg("image/"),
    // 视频
    mp4("video/"),
    // 依赖库
    lib("lib/"),
    // 其他
    others("others/"),
    ;

    /**
     * 文件路径
     */
    private final String path;

    public static String getPath(String name) {
        FileTypeEnum[] values = FileTypeEnum.values();
        for (FileTypeEnum value : values) {
            String currentName = value.name();
            if(currentName.equalsIgnoreCase(name)){
                return value.getPath();
            }
        }
        return others.getPath();
    }

    public static FileTypeEnum getByFileName(String fileName) {
        String extName = FileNameUtil.extName(fileName);
        FileTypeEnum[] values = FileTypeEnum.values();
        for (FileTypeEnum value : values) {
            String currentName = value.name();
            if(currentName.equalsIgnoreCase(extName)){
                return value;
            }
        }
        return others;
    }

}
